package cn.besbing.model.entities.primary;

import java.util.ArrayList;
import java.util.List;

public class EngineerManageExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public EngineerManageExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andTaskIdIsNull() {
            addCriterion("TASK_ID is null");
            return (Criteria) this;
        }

        public Criteria andTaskIdIsNotNull() {
            addCriterion("TASK_ID is not null");
            return (Criteria) this;
        }

        public Criteria andTaskIdEqualTo(String value) {
            addCriterion("TASK_ID =", value, "taskId");
            return (Criteria) this;
        }

        public Criteria andTaskIdNotEqualTo(String value) {
            addCriterion("TASK_ID <>", value, "taskId");
            return (Criteria) this;
        }

        public Criteria andTaskIdGreaterThan(String value) {
            addCriterion("TASK_ID >", value, "taskId");
            return (Criteria) this;
        }

        public Criteria andTaskIdGreaterThanOrEqualTo(String value) {
            addCriterion("TASK_ID >=", value, "taskId");
            return (Criteria) this;
        }

        public Criteria andTaskIdLessThan(String value) {
            addCriterion("TASK_ID <", value, "taskId");
            return (Criteria) this;
        }

        public Criteria andTaskIdLessThanOrEqualTo(String value) {
            addCriterion("TASK_ID <=", value, "taskId");
            return (Criteria) this;
        }

        public Criteria andTaskIdLike(String value) {
            addCriterion("TASK_ID like", value, "taskId");
            return (Criteria) this;
        }

        public Criteria andTaskIdNotLike(String value) {
            addCriterion("TASK_ID not like", value, "taskId");
            return (Criteria) this;
        }

        public Criteria andTaskIdIn(List<String> values) {
            addCriterion("TASK_ID in", values, "taskId");
            return (Criteria) this;
        }

        public Criteria andTaskIdNotIn(List<String> values) {
            addCriterion("TASK_ID not in", values, "taskId");
            return (Criteria) this;
        }

        public Criteria andTaskIdBetween(String value1, String value2) {
            addCriterion("TASK_ID between", value1, value2, "taskId");
            return (Criteria) this;
        }

        public Criteria andTaskIdNotBetween(String value1, String value2) {
            addCriterion("TASK_ID not between", value1, value2, "taskId");
            return (Criteria) this;
        }

        public Criteria andTaskReportedNameIsNull() {
            addCriterion("TASK_REPORTED_NAME is null");
            return (Criteria) this;
        }

        public Criteria andTaskReportedNameIsNotNull() {
            addCriterion("TASK_REPORTED_NAME is not null");
            return (Criteria) this;
        }

        public Criteria andTaskReportedNameEqualTo(String value) {
            addCriterion("TASK_REPORTED_NAME =", value, "taskReportedName");
            return (Criteria) this;
        }

        public Criteria andTaskReportedNameNotEqualTo(String value) {
            addCriterion("TASK_REPORTED_NAME <>", value, "taskReportedName");
            return (Criteria) this;
        }

        public Criteria andTaskReportedNameGreaterThan(String value) {
            addCriterion("TASK_REPORTED_NAME >", value, "taskReportedName");
            return (Criteria) this;
        }

        public Criteria andTaskReportedNameGreaterThanOrEqualTo(String value) {
            addCriterion("TASK_REPORTED_NAME >=", value, "taskReportedName");
            return (Criteria) this;
        }

        public Criteria andTaskReportedNameLessThan(String value) {
            addCriterion("TASK_REPORTED_NAME <", value, "taskReportedName");
            return (Criteria) this;
        }

        public Criteria andTaskReportedNameLessThanOrEqualTo(String value) {
            addCriterion("TASK_REPORTED_NAME <=", value, "taskReportedName");
            return (Criteria) this;
        }

        public Criteria andTaskReportedNameLike(String value) {
            addCriterion("TASK_REPORTED_NAME like", value, "taskReportedName");
            return (Criteria) this;
        }

        public Criteria andTaskReportedNameNotLike(String value) {
            addCriterion("TASK_REPORTED_NAME not like", value, "taskReportedName");
            return (Criteria) this;
        }

        public Criteria andTaskReportedNameIn(List<String> values) {
            addCriterion("TASK_REPORTED_NAME in", values, "taskReportedName");
            return (Criteria) this;
        }

        public Criteria andTaskReportedNameNotIn(List<String> values) {
            addCriterion("TASK_REPORTED_NAME not in", values, "taskReportedName");
            return (Criteria) this;
        }

        public Criteria andTaskReportedNameBetween(String value1, String value2) {
            addCriterion("TASK_REPORTED_NAME between", value1, value2, "taskReportedName");
            return (Criteria) this;
        }

        public Criteria andTaskReportedNameNotBetween(String value1, String value2) {
            addCriterion("TASK_REPORTED_NAME not between", value1, value2, "taskReportedName");
            return (Criteria) this;
        }

        public Criteria andTestorIsNull() {
            addCriterion("TESTOR is null");
            return (Criteria) this;
        }

        public Criteria andTestorIsNotNull() {
            addCriterion("TESTOR is not null");
            return (Criteria) this;
        }

        public Criteria andTestorEqualTo(String value) {
            addCriterion("TESTOR =", value, "testor");
            return (Criteria) this;
        }

        public Criteria andTestorNotEqualTo(String value) {
            addCriterion("TESTOR <>", value, "testor");
            return (Criteria) this;
        }

        public Criteria andTestorGreaterThan(String value) {
            addCriterion("TESTOR >", value, "testor");
            return (Criteria) this;
        }

        public Criteria andTestorGreaterThanOrEqualTo(String value) {
            addCriterion("TESTOR >=", value, "testor");
            return (Criteria) this;
        }

        public Criteria andTestorLessThan(String value) {
            addCriterion("TESTOR <", value, "testor");
            return (Criteria) this;
        }

        public Criteria andTestorLessThanOrEqualTo(String value) {
            addCriterion("TESTOR <=", value, "testor");
            return (Criteria) this;
        }

        public Criteria andTestorLike(String value) {
            addCriterion("TESTOR like", value, "testor");
            return (Criteria) this;
        }

        public Criteria andTestorNotLike(String value) {
            addCriterion("TESTOR not like", value, "testor");
            return (Criteria) this;
        }

        public Criteria andTestorIn(List<String> values) {
            addCriterion("TESTOR in", values, "testor");
            return (Criteria) this;
        }

        public Criteria andTestorNotIn(List<String> values) {
            addCriterion("TESTOR not in", values, "testor");
            return (Criteria) this;
        }

        public Criteria andTestorBetween(String value1, String value2) {
            addCriterion("TESTOR between", value1, value2, "testor");
            return (Criteria) this;
        }

        public Criteria andTestorNotBetween(String value1, String value2) {
            addCriterion("TESTOR not between", value1, value2, "testor");
            return (Criteria) this;
        }

        public Criteria andTestdateIsNull() {
            addCriterion("TESTDATE is null");
            return (Criteria) this;
        }

        public Criteria andTestdateIsNotNull() {
            addCriterion("TESTDATE is not null");
            return (Criteria) this;
        }

        public Criteria andTestdateEqualTo(String value) {
            addCriterion("TESTDATE =", value, "testdate");
            return (Criteria) this;
        }

        public Criteria andTestdateNotEqualTo(String value) {
            addCriterion("TESTDATE <>", value, "testdate");
            return (Criteria) this;
        }

        public Criteria andTestdateGreaterThan(String value) {
            addCriterion("TESTDATE >", value, "testdate");
            return (Criteria) this;
        }

        public Criteria andTestdateGreaterThanOrEqualTo(String value) {
            addCriterion("TESTDATE >=", value, "testdate");
            return (Criteria) this;
        }

        public Criteria andTestdateLessThan(String value) {
            addCriterion("TESTDATE <", value, "testdate");
            return (Criteria) this;
        }

        public Criteria andTestdateLessThanOrEqualTo(String value) {
            addCriterion("TESTDATE <=", value, "testdate");
            return (Criteria) this;
        }

        public Criteria andTestdateLike(String value) {
            addCriterion("TESTDATE like", value, "testdate");
            return (Criteria) this;
        }

        public Criteria andTestdateNotLike(String value) {
            addCriterion("TESTDATE not like", value, "testdate");
            return (Criteria) this;
        }

        public Criteria andTestdateIn(List<String> values) {
            addCriterion("TESTDATE in", values, "testdate");
            return (Criteria) this;
        }

        public Criteria andTestdateNotIn(List<String> values) {
            addCriterion("TESTDATE not in", values, "testdate");
            return (Criteria) this;
        }

        public Criteria andTestdateBetween(String value1, String value2) {
            addCriterion("TESTDATE between", value1, value2, "testdate");
            return (Criteria) this;
        }

        public Criteria andTestdateNotBetween(String value1, String value2) {
            addCriterion("TESTDATE not between", value1, value2, "testdate");
            return (Criteria) this;
        }

        public Criteria andEngineerIsNull() {
            addCriterion("ENGINEER is null");
            return (Criteria) this;
        }

        public Criteria andEngineerIsNotNull() {
            addCriterion("ENGINEER is not null");
            return (Criteria) this;
        }

        public Criteria andEngineerEqualTo(String value) {
            addCriterion("ENGINEER =", value, "engineer");
            return (Criteria) this;
        }

        public Criteria andEngineerNotEqualTo(String value) {
            addCriterion("ENGINEER <>", value, "engineer");
            return (Criteria) this;
        }

        public Criteria andEngineerGreaterThan(String value) {
            addCriterion("ENGINEER >", value, "engineer");
            return (Criteria) this;
        }

        public Criteria andEngineerGreaterThanOrEqualTo(String value) {
            addCriterion("ENGINEER >=", value, "engineer");
            return (Criteria) this;
        }

        public Criteria andEngineerLessThan(String value) {
            addCriterion("ENGINEER <", value, "engineer");
            return (Criteria) this;
        }

        public Criteria andEngineerLessThanOrEqualTo(String value) {
            addCriterion("ENGINEER <=", value, "engineer");
            return (Criteria) this;
        }

        public Criteria andEngineerLike(String value) {
            addCriterion("ENGINEER like", value, "engineer");
            return (Criteria) this;
        }

        public Criteria andEngineerNotLike(String value) {
            addCriterion("ENGINEER not like", value, "engineer");
            return (Criteria) this;
        }

        public Criteria andEngineerIn(List<String> values) {
            addCriterion("ENGINEER in", values, "engineer");
            return (Criteria) this;
        }

        public Criteria andEngineerNotIn(List<String> values) {
            addCriterion("ENGINEER not in", values, "engineer");
            return (Criteria) this;
        }

        public Criteria andEngineerBetween(String value1, String value2) {
            addCriterion("ENGINEER between", value1, value2, "engineer");
            return (Criteria) this;
        }

        public Criteria andEngineerNotBetween(String value1, String value2) {
            addCriterion("ENGINEER not between", value1, value2, "engineer");
            return (Criteria) this;
        }

        public Criteria andCCoaLanguageIsNull() {
            addCriterion("C_COA_LANGUAGE is null");
            return (Criteria) this;
        }

        public Criteria andCCoaLanguageIsNotNull() {
            addCriterion("C_COA_LANGUAGE is not null");
            return (Criteria) this;
        }

        public Criteria andCCoaLanguageEqualTo(String value) {
            addCriterion("C_COA_LANGUAGE =", value, "cCoaLanguage");
            return (Criteria) this;
        }

        public Criteria andCCoaLanguageNotEqualTo(String value) {
            addCriterion("C_COA_LANGUAGE <>", value, "cCoaLanguage");
            return (Criteria) this;
        }

        public Criteria andCCoaLanguageGreaterThan(String value) {
            addCriterion("C_COA_LANGUAGE >", value, "cCoaLanguage");
            return (Criteria) this;
        }

        public Criteria andCCoaLanguageGreaterThanOrEqualTo(String value) {
            addCriterion("C_COA_LANGUAGE >=", value, "cCoaLanguage");
            return (Criteria) this;
        }

        public Criteria andCCoaLanguageLessThan(String value) {
            addCriterion("C_COA_LANGUAGE <", value, "cCoaLanguage");
            return (Criteria) this;
        }

        public Criteria andCCoaLanguageLessThanOrEqualTo(String value) {
            addCriterion("C_COA_LANGUAGE <=", value, "cCoaLanguage");
            return (Criteria) this;
        }

        public Criteria andCCoaLanguageLike(String value) {
            addCriterion("C_COA_LANGUAGE like", value, "cCoaLanguage");
            return (Criteria) this;
        }

        public Criteria andCCoaLanguageNotLike(String value) {
            addCriterion("C_COA_LANGUAGE not like", value, "cCoaLanguage");
            return (Criteria) this;
        }

        public Criteria andCCoaLanguageIn(List<String> values) {
            addCriterion("C_COA_LANGUAGE in", values, "cCoaLanguage");
            return (Criteria) this;
        }

        public Criteria andCCoaLanguageNotIn(List<String> values) {
            addCriterion("C_COA_LANGUAGE not in", values, "cCoaLanguage");
            return (Criteria) this;
        }

        public Criteria andCCoaLanguageBetween(String value1, String value2) {
            addCriterion("C_COA_LANGUAGE between", value1, value2, "cCoaLanguage");
            return (Criteria) this;
        }

        public Criteria andCCoaLanguageNotBetween(String value1, String value2) {
            addCriterion("C_COA_LANGUAGE not between", value1, value2, "cCoaLanguage");
            return (Criteria) this;
        }

        public Criteria andCCoaFormatIsNull() {
            addCriterion("C_COA_FORMAT is null");
            return (Criteria) this;
        }

        public Criteria andCCoaFormatIsNotNull() {
            addCriterion("C_COA_FORMAT is not null");
            return (Criteria) this;
        }

        public Criteria andCCoaFormatEqualTo(String value) {
            addCriterion("C_COA_FORMAT =", value, "cCoaFormat");
            return (Criteria) this;
        }

        public Criteria andCCoaFormatNotEqualTo(String value) {
            addCriterion("C_COA_FORMAT <>", value, "cCoaFormat");
            return (Criteria) this;
        }

        public Criteria andCCoaFormatGreaterThan(String value) {
            addCriterion("C_COA_FORMAT >", value, "cCoaFormat");
            return (Criteria) this;
        }

        public Criteria andCCoaFormatGreaterThanOrEqualTo(String value) {
            addCriterion("C_COA_FORMAT >=", value, "cCoaFormat");
            return (Criteria) this;
        }

        public Criteria andCCoaFormatLessThan(String value) {
            addCriterion("C_COA_FORMAT <", value, "cCoaFormat");
            return (Criteria) this;
        }

        public Criteria andCCoaFormatLessThanOrEqualTo(String value) {
            addCriterion("C_COA_FORMAT <=", value, "cCoaFormat");
            return (Criteria) this;
        }

        public Criteria andCCoaFormatLike(String value) {
            addCriterion("C_COA_FORMAT like", value, "cCoaFormat");
            return (Criteria) this;
        }

        public Criteria andCCoaFormatNotLike(String value) {
            addCriterion("C_COA_FORMAT not like", value, "cCoaFormat");
            return (Criteria) this;
        }

        public Criteria andCCoaFormatIn(List<String> values) {
            addCriterion("C_COA_FORMAT in", values, "cCoaFormat");
            return (Criteria) this;
        }

        public Criteria andCCoaFormatNotIn(List<String> values) {
            addCriterion("C_COA_FORMAT not in", values, "cCoaFormat");
            return (Criteria) this;
        }

        public Criteria andCCoaFormatBetween(String value1, String value2) {
            addCriterion("C_COA_FORMAT between", value1, value2, "cCoaFormat");
            return (Criteria) this;
        }

        public Criteria andCCoaFormatNotBetween(String value1, String value2) {
            addCriterion("C_COA_FORMAT not between", value1, value2, "cCoaFormat");
            return (Criteria) this;
        }

        public Criteria andIsrollbackIsNull() {
            addCriterion("ISROLLBACK is null");
            return (Criteria) this;
        }

        public Criteria andIsrollbackIsNotNull() {
            addCriterion("ISROLLBACK is not null");
            return (Criteria) this;
        }

        public Criteria andIsrollbackEqualTo(String value) {
            addCriterion("ISROLLBACK =", value, "isrollback");
            return (Criteria) this;
        }

        public Criteria andIsrollbackNotEqualTo(String value) {
            addCriterion("ISROLLBACK <>", value, "isrollback");
            return (Criteria) this;
        }

        public Criteria andIsrollbackGreaterThan(String value) {
            addCriterion("ISROLLBACK >", value, "isrollback");
            return (Criteria) this;
        }

        public Criteria andIsrollbackGreaterThanOrEqualTo(String value) {
            addCriterion("ISROLLBACK >=", value, "isrollback");
            return (Criteria) this;
        }

        public Criteria andIsrollbackLessThan(String value) {
            addCriterion("ISROLLBACK <", value, "isrollback");
            return (Criteria) this;
        }

        public Criteria andIsrollbackLessThanOrEqualTo(String value) {
            addCriterion("ISROLLBACK <=", value, "isrollback");
            return (Criteria) this;
        }

        public Criteria andIsrollbackLike(String value) {
            addCriterion("ISROLLBACK like", value, "isrollback");
            return (Criteria) this;
        }

        public Criteria andIsrollbackNotLike(String value) {
            addCriterion("ISROLLBACK not like", value, "isrollback");
            return (Criteria) this;
        }

        public Criteria andIsrollbackIn(List<String> values) {
            addCriterion("ISROLLBACK in", values, "isrollback");
            return (Criteria) this;
        }

        public Criteria andIsrollbackNotIn(List<String> values) {
            addCriterion("ISROLLBACK not in", values, "isrollback");
            return (Criteria) this;
        }

        public Criteria andIsrollbackBetween(String value1, String value2) {
            addCriterion("ISROLLBACK between", value1, value2, "isrollback");
            return (Criteria) this;
        }

        public Criteria andIsrollbackNotBetween(String value1, String value2) {
            addCriterion("ISROLLBACK not between", value1, value2, "isrollback");
            return (Criteria) this;
        }

        public Criteria andRptRejectCommentSIsNull() {
            addCriterion("RPT_REJECT_COMMENT_S is null");
            return (Criteria) this;
        }

        public Criteria andRptRejectCommentSIsNotNull() {
            addCriterion("RPT_REJECT_COMMENT_S is not null");
            return (Criteria) this;
        }

        public Criteria andRptRejectCommentSEqualTo(String value) {
            addCriterion("RPT_REJECT_COMMENT_S =", value, "rptRejectCommentS");
            return (Criteria) this;
        }

        public Criteria andRptRejectCommentSNotEqualTo(String value) {
            addCriterion("RPT_REJECT_COMMENT_S <>", value, "rptRejectCommentS");
            return (Criteria) this;
        }

        public Criteria andRptRejectCommentSGreaterThan(String value) {
            addCriterion("RPT_REJECT_COMMENT_S >", value, "rptRejectCommentS");
            return (Criteria) this;
        }

        public Criteria andRptRejectCommentSGreaterThanOrEqualTo(String value) {
            addCriterion("RPT_REJECT_COMMENT_S >=", value, "rptRejectCommentS");
            return (Criteria) this;
        }

        public Criteria andRptRejectCommentSLessThan(String value) {
            addCriterion("RPT_REJECT_COMMENT_S <", value, "rptRejectCommentS");
            return (Criteria) this;
        }

        public Criteria andRptRejectCommentSLessThanOrEqualTo(String value) {
            addCriterion("RPT_REJECT_COMMENT_S <=", value, "rptRejectCommentS");
            return (Criteria) this;
        }

        public Criteria andRptRejectCommentSLike(String value) {
            addCriterion("RPT_REJECT_COMMENT_S like", value, "rptRejectCommentS");
            return (Criteria) this;
        }

        public Criteria andRptRejectCommentSNotLike(String value) {
            addCriterion("RPT_REJECT_COMMENT_S not like", value, "rptRejectCommentS");
            return (Criteria) this;
        }

        public Criteria andRptRejectCommentSIn(List<String> values) {
            addCriterion("RPT_REJECT_COMMENT_S in", values, "rptRejectCommentS");
            return (Criteria) this;
        }

        public Criteria andRptRejectCommentSNotIn(List<String> values) {
            addCriterion("RPT_REJECT_COMMENT_S not in", values, "rptRejectCommentS");
            return (Criteria) this;
        }

        public Criteria andRptRejectCommentSBetween(String value1, String value2) {
            addCriterion("RPT_REJECT_COMMENT_S between", value1, value2, "rptRejectCommentS");
            return (Criteria) this;
        }

        public Criteria andRptRejectCommentSNotBetween(String value1, String value2) {
            addCriterion("RPT_REJECT_COMMENT_S not between", value1, value2, "rptRejectCommentS");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}